package controller;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import model.Laberinto;
import model.Pacman;

public class ControladorJuego extends
		ar.uba.fi.algo3.titiritero.ControladorJuego {

		
	private List<KeyEventObservador> keyEventObservadores;
	
	
	public ControladorJuego() {

		super();
		this.keyEventObservadores = new ArrayList<KeyEventObservador>();
	}
	
	public void despacharKeyEvent(int KeyCode){
		KeyEventObservador unkeyEventObservador;
		Iterator<KeyEventObservador> iterador = this.keyEventObservadores.iterator();
		while(iterador.hasNext()){
			unkeyEventObservador = iterador.next();
			unkeyEventObservador.teclado(KeyCode);
		}
	}
	
	public void agregarKeyEventObservador(KeyEventObservador unkeyEventObservador){
		this.keyEventObservadores.add(unkeyEventObservador);
	}
	
	public void removerKeyEventObservador(KeyEventObservador unkeyEventObservador){
		this.keyEventObservadores.remove(unkeyEventObservador);
	}
	
	public void pasarNivel(Laberinto laberinto, Pacman pacman) {
		
		laberinto.avanzarNivel();
		pacman.reiniciar();
		laberinto.setPacman(pacman);
		
	}

	
	

}
